/**
 * 
 */
package database;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author Aubry Pirian
 * @version 0.1
 */
public abstract class DbConnector {
	
	/**
	 * Attributs
	 */
	protected Connection conn=null;	// Objet de connexion
	protected String address;	// Adresse du serveur
	protected int port;			// Port eventuel
	protected String userName;	// Nom d'utilisateur
	protected String passwd;	// Mot de passe
	protected String dbName;	// Nom de la base de donnees
	
	/**
	 * Méthode retournant le statut de la connection avec la base de données
	 */
	public boolean isConnected() {
		return (this.conn!=null);
	}
	
	/**
	 * Methode retournant l'adresse complete de connexion a la base de donnees
	 */
	protected String getFullAddress () {
		if (this.port==-1) return this.address+"/"+this.dbName;
		else return this.address+":"+this.port+"/"+this.dbName;
	}
	
	/**
	 * Methode creant un Statement pour une requete.
	 * @return
	 */
	protected Statement createStatement() throws SQLException {
		return conn.createStatement();
	}
	
	/**
	 * Methode creant la condition d'une requete
	 * @param condition : clause a ecrire
	 * @return
	 */
	protected static String buildCondition (Clause cond) {
		return cond.toString();
	}

}
